﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using B2BAktarim.VeriServisi;
using System.Drawing;
using System.IO;
using System.Data.SqlClient;

namespace B2BAktarim
{
    public class Aktarim
    {
        private static Aktarim _instance;
        public static Aktarim Get
        {
            get
            {
                if (_instance == null)
                    _instance = new Aktarim();
                return _instance;
            }
        }
        Mikro mk;
        DataServiceClient client;

        private Aktarim()
        {
            mk = new Mikro();
            client = new DataServiceClient();
        }

        private byte[] ChangeImageFormat(byte[] resim)
        {
            if (resim != null)
            {
                MemoryStream ms = new MemoryStream(resim);
                Image img = Image.FromStream(ms);
                MemoryStream rt = new MemoryStream();
                img.Save(rt, System.Drawing.Imaging.ImageFormat.Jpeg);
                return rt.ToArray();
            }
            else
            {
                MemoryStream rt = new MemoryStream();
                Properties.Resources.nophoto.Save(rt, System.Drawing.Imaging.ImageFormat.Jpeg);
                return rt.ToArray();
            }
        }

        private void KategoriKontrol(DateTime tarih)
        {
            List<SyncKategori> vt = Database.LoadDb.Kategoriler;
            List<SyncKategori> ktg = mk.KategoriList(tarih);
            foreach (SyncKategori item in ktg)
            {
                SyncKategori k = vt.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                if (k == null)
                {
                    item.Degisti = true;
                    vt.Add(item);
                }
                else
                {
                    if (k.Adi != item.Adi)
                    {
                        k.Degisti = true;
                        vt.Remove(k);
                        vt.Add(item);
                    }
                }
            }

            if (tarih.Year == 1900)
            {
                var sil = from c in vt
                          where !(from o in ktg
                                  select o.Kodu)
                              .Contains(c.Kodu)
                          select c;

                foreach (var item in sil)
                {
                    item.Silindi = true;
                }
            }
            Database.LoadDb.SaveDb();
        }


        private void AltGrupKontrol(DateTime tarih)
        {
            List<SyncAltGrup> vt = Database.LoadDb.AltGruplar;
            List<SyncAltGrup> ktg = mk.AltGrupList(tarih);
            foreach (SyncAltGrup item in ktg)
            {
                SyncAltGrup k = vt.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                if (k == null)
                {
                    item.Degisti = true;
                    vt.Add(item);
                }
                else
                {
                    if (k.Adi != item.Adi)
                    {
                        k.Degisti = true;
                        vt.Remove(k);
                        vt.Add(item);
                    }
                }
            }

            if (tarih.Year == 1900)
            {
                var sil = from c in vt
                          where !(from o in ktg
                                  select o.Kodu)
                              .Contains(c.Kodu)
                          select c;

                foreach (var item in sil)
                {
                    item.Silindi = true;
                }
            }
            Database.LoadDb.SaveDb();
        }

        private void CariKontrol(DateTime tarih)
        {
            List<SyncCari> vt = Database.LoadDb.Cariler;
            List<SyncCari> ktg = mk.CariList(tarih);
            foreach (SyncCari item in ktg)
            {
                SyncCari k = vt.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                if (k == null)
                {
                    item.Degisti = true;
                    vt.Add(item);
                }
                else
                {
                    if (k.Adi != item.Adi || k.ID != item.ID || k.Kodu != item.Kodu)
                    {
                        k.Degisti = true;
                        vt.Remove(k);
                        vt.Add(item);
                    }
                }
            }

            if (tarih.Year == 1900)
            {
                var sil = from c in vt
                          where !(from o in ktg
                                  select o.Kodu)
                              .Contains(c.Kodu)
                          select c;

                foreach (var item in sil)
                {
                    item.Silindi = true;
                }
            }
            Database.LoadDb.SaveDb();
        }
        private void StokKontrol(DateTime tarih)
        {
            List<SyncStok> vt = Database.LoadDb.Stoklar;
            List<SyncStok> ktg = mk.StokList(tarih);
            foreach (SyncStok item in ktg)
            {
                SyncStok k = vt.Where(x => x.Kodu == item.Kodu).FirstOrDefault();
                if (k == null)
                {
                    item.Degisti = true;
                    item.Resim = ChangeImageFormat(item.Resim);
                    vt.Add(item);
                }
                else
                {
                    if (k.Adi != item.Adi || k.Fiyat != item.Fiyat || k.DovizCinsi != item.DovizCinsi || k.ID != item.ID || k.KategoriKodu != item.KategoriKodu || k.KdvID != item.KdvID || k.KdvOrani != k.KdvOrani || k.Kodu != item.Kodu || (item.Resim != null && k.Resim != null && k.Resim.Length != item.Resim.Length))
                    {
                        item.Resim = ChangeImageFormat(item.Resim);
                        item.Degisti = true;
                        vt.Remove(k);
                        vt.Add(item);
                    }
                }
            }

            if (tarih.Year == 1900)
            {
                var sil = from c in vt
                          where !(from o in ktg
                                  select o.Kodu)
                              .Contains(c.Kodu)
                          select c;

                foreach (var item in sil)
                {
                    item.Silindi = true;
                }
            }
            Database.LoadDb.SaveDb();
        }
        private void FiyatListeKontrol(DateTime tarih)
        {
            List<SyncFiyatListesi> vt = Database.LoadDb.FiyatListeleri;
            List<SyncFiyatListesi> ktg = mk.FiyatList(tarih);
            List<SyncStok> stk = Database.LoadDb.Stoklar;
            List<SyncCari> cr = Database.LoadDb.Cariler;

            foreach (SyncFiyatListesi item in ktg)
            {
                SyncFiyatListesi lst = vt.Where(x => x.CariKodu == item.CariKodu && x.StokKodu == item.StokKodu).FirstOrDefault();
                if (lst != null)
                {
                    if (lst.NetFiyat() != item.NetFiyat() || lst.DovizCinsi != item.DovizCinsi)
                    {
                        item.Degisti = true;
                    }
                }
                else
                {
                    item.Degisti = true;
                    vt.Remove(lst);
                    vt.Add(item);
                }
            }

            if (tarih.Year == 1900)
            {
                var sil = from c in vt
                          where !(from o in ktg
                                  select o.StokKodu + "-" + o.CariKodu)
                              .Contains(c.StokKodu + "-" + c.CariKodu)
                          select c;

                foreach (var item in sil)
                {
                    item.Silindi = true;
                }
            }
            Database.LoadDb.SaveDb();
        }

        private string ToStr(DateTime value)
        {
            DateTime tarih = value;
            if (value.Year == 1)
            {
                tarih = new DateTime(1900, 1, 1);
            }
            return string.Format("{0}-{1}-{2} {3}:{4}:{5}", tarih.Year, tarih.Month, tarih.Day, tarih.Hour, tarih.Minute, tarih.Second);
        }

        public void KategoriAktar(DateTime tarih)
        {
            KategoriKontrol(tarih);
            string sonuc = client.KategoriSil(Database.LoadDb.Kategoriler.Where(x => x.Silindi == true).Select(x => new VeriServisi.DbKategori { Adi = x.Adi, ID = x.ID, Kodu = x.Kodu }).ToArray());
            if (sonuc == "OK")
            {
                foreach (SyncKategori item in Database.LoadDb.Kategoriler.Where(x => x.Silindi == true).ToList())
                {
                    Database.LoadDb.Kategoriler.Remove(item);
                }
            }

            sonuc = client.KategoriEkle(Database.LoadDb.Kategoriler.Where(x => x.Degisti == true).Select(x => new VeriServisi.DbKategori { Adi = x.Adi, ID = x.ID, Kodu = x.Kodu }).ToArray());
            if (sonuc == "OK")
            {
                foreach (SyncKategori item in Database.LoadDb.Kategoriler.Where(x => x.Degisti == true).ToList())
                {
                    item.Degisti = false;
                }
            }

            Database.LoadDb.SaveDb();
            AltGrupAktar(tarih);
        }

        public void AltGrupAktar(DateTime tarih)
        {
            DateTime lastupdate = DateTime.Now;
            AltGrupKontrol(tarih);
            string sonuc = client.AltGrupSil(Database.LoadDb.AltGruplar.Where(x => x.Silindi == true).Select(x => new VeriServisi.DbAltGrup { Adi = x.Adi, ID = x.ID, Kodu = x.Kodu }).ToArray());
            if (sonuc == "OK")
            {
                foreach (SyncAltGrup item in Database.LoadDb.AltGruplar.Where(x => x.Silindi == true).ToList())
                {
                    Database.LoadDb.AltGruplar.Remove(item);
                }
            }

            sonuc = client.AltGrupEkle(Database.LoadDb.AltGruplar.Where(x => x.Degisti == true).Select(x => new VeriServisi.DbAltGrup { Adi = x.Adi, ID = x.ID, Kodu = x.Kodu }).ToArray());
            if (sonuc == "OK")
            {
                foreach (SyncAltGrup item in Database.LoadDb.AltGruplar.Where(x => x.Degisti == true).ToList())
                {
                    item.Degisti = false;
                }
            }

            Database.LoadDb.SaveDb();
            Settings.Instance.AddItems(Information.SonKategoriAktarimZamani, ToStr(lastupdate));
        }

        public void StokAktar(DateTime tarih)
        {
            DateTime lastupdate = DateTime.Now;
            StokKontrol(tarih);
            //var sil = Database.LoadDb.Stoklar.Where(x => x.Silindi == true).Select(x => new VeriServisi.Stok { Adi = x.Adi, DovizCinsi = x.DovizCinsi, Fiyat = x.Fiyat, ID = x.ID, KategoriKodu = x.KategoriKodu, KdvID = x.KdvID, KdvOrani = x.KdvOrani, Kodu = x.Kodu, Resim = x.Resim }).ToArray();

            //string sonuc = client.StokSil(sil);
            //if (sonuc == "OK")
            //{
            //    foreach (SyncStok item in Database.LoadDb.Stoklar.Where(x => x.Silindi == true).ToList())
            //    {
            //        Database.LoadDb.Stoklar.Remove(item);
            //    }
            //}

            //sonuc = client.StokEkle(Database.LoadDb.Stoklar.Where(x => x.Degisti == true).Select(x => new VeriServisi.Stok { Adi = x.Adi, DovizCinsi = x.DovizCinsi, Fiyat = x.Fiyat, ID = x.ID, KategoriKodu = x.KategoriKodu, KdvID = x.KdvID, KdvOrani = x.KdvOrani, Kodu = x.Kodu, Resim = x.Resim }).ToArray());
            //if (sonuc == "OK")
            //{
            //    foreach (SyncStok item in Database.LoadDb.Stoklar.Where(x => x.Degisti == true).ToList())
            //    {
            //        item.Degisti = false;
            //    }
            //}

            StringBuilder sb = new StringBuilder();
            sb.Append("if exists(select ID from Stok where Kodu=@Kodu) ");
            sb.Append(" UPDATE    Stok ");
            sb.Append(" SET              ID=@ID,Adi = @Adi, KdvID = @KdvID, KdvOrani = @KdvOrani, Resim = @Resim, KategoriKodu = @KategoriKodu, DovizCinsi = @DovizCinsi, Fiyat = @Fiyat,AltGrupKodu=@AltGrupKodu ");
            sb.Append(" WHERE     (Kodu = @Kodu) ");
            sb.Append(" else ");
            sb.Append(" INSERT INTO Stok ");
            sb.Append("                      (ID,Kodu, Adi, KdvID, KdvOrani, Resim, KategoriKodu, DovizCinsi, Fiyat,AltGrupKodu) ");
            sb.Append(" VALUES     (@ID,@Kodu,@Adi,@KdvID,@KdvOrani,@Resim,@KategoriKodu,@DovizCinsi,@Fiyat,@AltGrupKodu) ");


            try
            {
                using (SqlConnection cn = new SqlConnection("Data Source=mssql04.natro.com;Database=DB120930221925;user id=USR120930221925;password=PSS!L9D4J8%"))
                {
                    cn.Open();
                    using (SqlCommand cmd = new SqlCommand(sb.ToString(), cn))
                    {
                        cmd.Parameters.Add("@ID", System.Data.SqlDbType.Int);
                        cmd.Parameters.Add("@Kodu", System.Data.SqlDbType.NVarChar, 25);
                        cmd.Parameters.Add("@Adi", System.Data.SqlDbType.NVarChar, 50);
                        cmd.Parameters.Add("@KdvID", System.Data.SqlDbType.Int);
                        cmd.Parameters.Add("@KdvOrani", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Resim", System.Data.SqlDbType.Image);
                        cmd.Parameters.Add("@KategoriKodu", System.Data.SqlDbType.NVarChar, 25);
                        cmd.Parameters.Add("@DovizCinsi", System.Data.SqlDbType.TinyInt);
                        cmd.Parameters.Add("@Fiyat", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@AltGrupKodu", System.Data.SqlDbType.NVarChar, 25);

                        foreach (var item in Database.LoadDb.Stoklar.Where(x => x.Degisti == true))
                        {
                            cmd.Parameters["@ID"].Value = item.ID;
                            cmd.Parameters["@Kodu"].Value = item.Kodu;
                            cmd.Parameters["@Adi"].Value = item.Adi;
                            cmd.Parameters["@KdvID"].Value = item.KdvID;
                            cmd.Parameters["@KdvOrani"].Value = item.KdvOrani;
                            cmd.Parameters["@Resim"].Value = item.Resim;
                            cmd.Parameters["@KategoriKodu"].Value = item.KategoriKodu;
                            cmd.Parameters["@DovizCinsi"].Value = item.DovizCinsi;
                            cmd.Parameters["@Fiyat"].Value = item.Fiyat;
                            cmd.Parameters["@AltGrupKodu"].Value = item.AltGrupKodu;
                            cmd.ExecuteNonQuery();
                            item.Degisti = false;
                        }
                    }
                    cn.Close();
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
            finally
            {
                Database.LoadDb.SaveDb();
                Settings.Instance.AddItems(Information.SonStokAktarimZamani, ToStr(lastupdate));
            }
        }

        public void CariAktar(DateTime tarih)
        {
            DateTime lastupdate = DateTime.Now;
            CariKontrol(tarih);
            string sonuc = client.CariSil(Database.LoadDb.Cariler.Where(x => x.Silindi == true).Select(x => new VeriServisi.Cari { Adi = x.Adi, Kodu = x.Kodu, ID = x.ID }).ToArray());
            if (sonuc == "OK")
            {
                foreach (SyncCari item in Database.LoadDb.Cariler.Where(x => x.Silindi == true).ToList())
                {
                    Database.LoadDb.Cariler.Remove(item);
                }
            }

            sonuc = client.CariEkle(Database.LoadDb.Cariler.Where(x => x.Degisti == true).Select(x => new VeriServisi.Cari { Adi = x.Adi, Kodu = x.Kodu, ID = x.ID }).ToArray());
            if (sonuc == "OK")
            {
                foreach (SyncCari item in Database.LoadDb.Cariler.Where(x => x.Degisti == true).ToList())
                {
                    item.Degisti = false;
                }
            }
            Database.LoadDb.SaveDb();
            Settings.Instance.AddItems(Information.SonCariAktarimZamani, ToStr(lastupdate));
        }

        public void DovizAktar()
        {
            DateTime lastupdate = DateTime.Now;
            string sonuc = client.DovizEkle(mk.DovizList().Select(x => new VeriServisi.DovizKuru { DovizCinsi = x.DovizCinsi, ID = x.ID, Kur = x.Kur }).ToArray());
            Settings.Instance.AddItems(Information.SonDovizKurAktarimZamani, ToStr(lastupdate));
        }

        public void FiyatListesiAktar(DateTime tarih)
        {
            DateTime lastupdate = DateTime.Now;
            //FiyatListeKontrol(tarih);
            //string sonuc = client.FiyatListesiSil(Database.LoadDb.FiyatListeleri.Where(x => x.Silindi == true).Select(x => new VeriServisi.FiyatListesi { BrutFiyat = x.BrutFiyat, CariKodu = x.CariKodu, ID = x.ID, Isk1Oran = x.Isk1Oran, Isk1Tutar = x.Isk1Tutar, Isk2Oran = x.Isk2Oran, Isk2Tutar = x.Isk2Tutar, Isk3Oran = x.Isk3Oran, Isk3Tutar = x.Isk3Tutar, Isk4Oran = x.Isk4Oran, Isk4Tutar = x.Isk4Tutar, Isk5Oran = x.Isk5Oran, Isk5Tutar = x.Isk5Tutar, Isk6Oran = x.Isk6Oran, Isk6Tutar = x.Isk6Tutar, StokKodu = x.StokKodu, DovizCinsi = x.DovizCinsi }).ToArray());
            //if (sonuc == "OK")
            //{
            //    foreach (SyncFiyatListesi item in Database.LoadDb.FiyatListeleri.Where(x => x.Silindi == true).ToList())
            //    {
            //        Database.LoadDb.FiyatListeleri.Remove(item);
            //    }
            //}

            //sonuc = client.FiyatListesiEkle(Database.LoadDb.FiyatListeleri.Where(x => x.Degisti == true).Select(x => new VeriServisi.FiyatListesi { BrutFiyat = x.BrutFiyat, CariKodu = x.CariKodu, ID = x.ID, Isk1Oran = x.Isk1Oran, Isk1Tutar = x.Isk1Tutar, Isk2Oran = x.Isk2Oran, Isk2Tutar = x.Isk2Tutar, Isk3Oran = x.Isk3Oran, Isk3Tutar = x.Isk3Tutar, Isk4Oran = x.Isk4Oran, Isk4Tutar = x.Isk4Tutar, Isk5Oran = x.Isk5Oran, Isk5Tutar = x.Isk5Tutar, Isk6Oran = x.Isk6Oran, Isk6Tutar = x.Isk6Tutar, StokKodu = x.StokKodu, DovizCinsi = x.DovizCinsi }).ToArray());
            //if (sonuc == "OK")
            //{
            //    foreach (SyncFiyatListesi item in Database.LoadDb.FiyatListeleri.Where(x => x.Degisti == true).ToList())
            //    {
            //        item.Degisti = false;
            //    }
            //}
            StringBuilder sb = new StringBuilder();
            sb.Append("if exists(select ID from FiyatListesi WHERE CariKodu = @CariKodu AND StokKodu = @StokKodu) ");
            sb.Append(" UPDATE    FiyatListesi ");
            sb.Append(" SET              ID = @ID, BrutFiyat = @BrutFiyat, Isk1Oran = @Isk1Oran, Isk1Tutar = @Isk1Tutar, Isk2Oran = @Isk2Oran, Isk2Tutar = @Isk2Tutar, Isk3Oran = @Isk3Oran,Isk3Tutar = @Isk3Tutar, Isk4Oran = @Isk4Oran, Isk4Tutar = @Isk4Tutar, Isk5Oran = @Isk5Oran, Isk5Tutar = @Isk5Tutar, Isk6Oran = @Isk6Oran, Isk6Tutar = @Isk6Tutar, DovizCinsi = @DovizCinsi ");
            sb.Append(" WHERE     (CariKodu = @CariKodu) AND (StokKodu = @StokKodu) ");
            sb.Append(" else ");
            sb.Append(" INSERT INTO FiyatListesi ");
            sb.Append("                       (ID, CariKodu, StokKodu, BrutFiyat, Isk1Oran, Isk1Tutar, Isk2Oran, Isk2Tutar, Isk3Oran, Isk3Tutar, Isk4Oran, Isk4Tutar, Isk5Oran, Isk5Tutar,Isk6Oran, Isk6Tutar, DovizCinsi) ");
            sb.Append(" VALUES     (@ID,@CariKodu,@StokKodu,@BrutFiyat,@Isk1Oran,@Isk1Tutar,@Isk2Oran,@Isk2Tutar,@Isk3Oran,@Isk3Tutar,@Isk4Oran,@Isk4Tutar,@Isk5Oran,@Isk5Tutar,@Isk6Oran,@Isk6Tutar,@DovizCinsi) ");

            try
            {
                using (SqlConnection cn = new SqlConnection("Data Source=mssql04.natro.com;Database=DB120930221925;user id=USR120930221925;password=PSS!L9D4J8%"))
                {
                    cn.Open();
                    using (SqlCommand cmd = new SqlCommand(sb.ToString(), cn))
                    {
                        cmd.Parameters.Add("@CariKodu", System.Data.SqlDbType.NVarChar, 25);
                        cmd.Parameters.Add("@StokKodu", System.Data.SqlDbType.NVarChar, 25);
                        cmd.Parameters.Add("@ID", System.Data.SqlDbType.Int);
                        cmd.Parameters.Add("@BrutFiyat", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk1Oran", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk1Tutar", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk2Oran", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk2Tutar", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk3Oran", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk3Tutar", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk4Oran", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk4Tutar", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk5Oran", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk5Tutar", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk6Oran", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@Isk6Tutar", System.Data.SqlDbType.Float);
                        cmd.Parameters.Add("@DovizCinsi", System.Data.SqlDbType.TinyInt);

                        foreach (var item in mk.FiyatList(tarih))
                        {
                            cmd.Parameters["@CariKodu"].Value = item.CariKodu;
                            cmd.Parameters["@StokKodu"].Value = item.StokKodu;
                            cmd.Parameters["@ID"].Value = item.ID;
                            cmd.Parameters["@BrutFiyat"].Value = item.BrutFiyat;
                            cmd.Parameters["@Isk1Oran"].Value = item.Isk1Oran;
                            cmd.Parameters["@Isk1Tutar"].Value = item.Isk1Tutar;
                            cmd.Parameters["@Isk2Oran"].Value = item.Isk2Oran;
                            cmd.Parameters["@Isk2Tutar"].Value = item.Isk2Tutar;
                            cmd.Parameters["@Isk3Oran"].Value = item.Isk3Oran;
                            cmd.Parameters["@Isk3Tutar"].Value = item.Isk3Tutar;
                            cmd.Parameters["@Isk4Oran"].Value = item.Isk4Oran;
                            cmd.Parameters["@Isk4Tutar"].Value = item.Isk4Tutar;
                            cmd.Parameters["@Isk5Oran"].Value = item.Isk5Oran;
                            cmd.Parameters["@Isk5Tutar"].Value = item.Isk5Tutar;
                            cmd.Parameters["@Isk6Oran"].Value = item.Isk6Oran;
                            cmd.Parameters["@Isk6Tutar"].Value = item.Isk6Tutar;
                            cmd.Parameters["@DovizCinsi"].Value = item.DovizCinsi;

                            cmd.ExecuteNonQuery();
                            item.Degisti = false;
                        }
                    }
                    cn.Close();
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
            finally
            {
                Database.LoadDb.SaveDb();
                Settings.Instance.AddItems(Information.SonFiyatListesiAktarimZamani, ToStr(lastupdate));
            }
        }

        public void SiparisAktar()
        {
            DateTime lastupdate = DateTime.Now;
            Siparis[] evr = client.AktarilacakSiparisler();
            if (evr.Length > 0)
            {
                try
                {
                    SqlTransaction trn = mk.OpenTrn();
                    foreach (Siparis e in evr)
                    {
                        mk.SiparisEkle(trn, e);
                        string sonuc = client.SiparisAktarildi(e.Seri, e.Sira, e.Satir);
                        if (sonuc != "OK")
                        {
                            throw new Exception(sonuc);
                        }
                    }
                    trn.Commit();
                }
                catch (Exception)
                {

                }
            }
            Settings.Instance.AddItems(Information.SonSiparisAktarimZamani, ToStr(lastupdate));
        }
    }
}
